Gráficos Interativos em R (Parte 2)
Gráficos Interativos em R (Parte 2)
1 Qual é o objetivo desse artigo?
Quando finalizamos as etapas de formatação e manipulação dos dados, podemos criar estatísticas e visualizações de dados a partir dos mesmos. Quando o assunto é análise descritiva, podemos utilizar a Visualização de Dados para entender o comportamento dos dados e idenficar padrões. Entretanto, muitos pacotes geram gráficos estáticos ou inanimados, o que pode decepcionar alguns usuários.
Em contrapartida, os gráficos interativos são criados a partir de elementos animados que aumentam a capacidade de retenção de informação através da interatividade. Sabendo disso, esse texto foi escrito como uma continuação do post Gráficos Interativos em R (Parte 1) e mostrar mais algumas bibliotecas do R que auxiliam na confecção de gráficos interativos.
2 Plotly
Plotly é um pacote do R utilizado para criar gráficos interativos baseados na biblioteca gráfica plotly.js. É um pacote muito fácil de usar considerando que o usuário já conhece o pacote ggplot2. Para transformar os gráficos estáticos do ggplot2 para gráficos interativos, basta utilizar a função ggplotly() do plotly.
Além dessa integração com o ggplot2, também é possível criar gráficos apenas com as camadas gráficas do plotly. A vantagem em utilizar os gráficos originais do plotly está na possibilidade de construir uma grande variedade de gráficos interativos. Logo abaixo estão alguns exemplos.
2.1 Integração com ggplot2
set.seed(100)
library(ggplot2)
library(plotly)
d <- diamonds[sample(nrow(diamonds), 1000), ]
p <- ggplot(data = d, aes(x = carat, y = price)) +
geom_point(aes(text = paste("Clarity:", clarity))) +
geom_smooth(aes(colour = cut, fill = cut)) + facet_wrap(~ cut)
ggplotly(p)2.2 Gráficos puros do Plotly
library(gapminder)
p <- gapminder %>%
plot_ly(
x = ~gdpPercap,
y = ~lifeExp,
size = ~pop,
color = ~continent,
frame = ~year,
text = ~country,
hoverinfo = "text",
type = 'scatter',
mode = 'markers'
) %>%
layout(
xaxis = list(
type = "log"
)
)
p3 DyGraphs
Dygraphs é um pacote do R construído como interface para a biblioteca Javascript de mesmo nome. Esse pacote tem como ponto forte construir gráficos de séries temporais. Há várias vantagens em utilizar o Dygraphs, tais como:
- Facilidade em visualizar objetos da classe xts
- Rica interatividade com os gráficos
- Grandes bases de dados alteram pouco a velocidade da interatividade
3.1 Fazendo o primeiro gráfico
library(magrittr)
library(dygraphs)
x <- nottem
dygraph(x)3.2 Adicionando um Seletor Intervalar
y <- USAccDeaths
dygraph(y) %>% dyRangeSelector()lungDeaths <- cbind(mdeaths, fdeaths)
x=dygraph(lungDeaths) %>% dyRangeSelector() %>% dyOptions(stackedGraph = TRUE)
x3.3 Adicionando os Limites Inferior e Superior
hw <- HoltWinters(AirPassengers)
p <- predict(hw, n.ahead = 36, prediction.interval = TRUE)
all <- cbind(AirPassengers, p)
dygraph(all) %>%
dySeries("AirPassengers", label = "Atual") %>%
dySeries(c("p.lwr", "p.fit", "p.upr"), label = "Predito")4 Leaflet
O pacote Leaflet é um pacote do R baseado na biblioteca open-source de mesmo nome e desenvolvida em Javascript que permite criar mapas interativos. Esse é um pacote bem fácil de aprender e que permite criar mapas interativos bem agradáveis de se visualizar.
4.1 Fazendo o primeiro gráfico
library(leaflet)
m <- leaflet() %>%
addTiles() %>% # Mapa OpenStreetMap
addMarkers(lng=-49.267, lat=-25.4102,label="Museu Oscar Niemeyer")
m 4.2 Acrescentando legenda
m %>% addPopups(-49.267, -25.4102,
paste("<b> Museu Oscar Niemeyer </b>","<br/>",
"Rua Marechal Hermes, 999","<br/>",
"Curitiba - PR, Centro Cívico"))4.3 Modificando temas
m %>% addProviderTiles(providers$CartoDB.Positron)m %>% addProviderTiles(providers$Stamen.Toner)5 Conclusão
Esse texto teve como objetivo mostrar algumas bibliotecas do R que auxiliam na confecção de gráficos interativos e para fins de registro pessoal. Esse post não teve como objetivo mostrar todas as funções de cada pacote, mas mostrar as principais funcionalidades de cada um. Dessa forma, caso tenha interesse em aprender mais sobre a criação de gráficos interativos, basta entrar em contato com o autor ou fazer uma pesquisa mais específica nos sites de pesquisa.
Obrigado por ter lido.